﻿// Copyright (c) Asicotech.com

namespace LaserMark.Components.Events;

/// <summary>
/// IRibbonTabEventBus 接口
/// </summary>
public interface IRibbonTabEventBus
{
    /// <summary>
    /// 发布事件方法
    /// </summary>
    /// <returns></returns>
    Task PublishAsync(RibbonTabEventMessage eventMessage);

    /// <summary>
    /// 注册事件方法
    /// </summary>
    /// <param name="@event"></param>
    void RegisterHandler(RibbonTabEvent @event);

    /// <summary>
    /// 注销事件方法
    /// </summary>
    /// <param name="@event"></param>
    void UnRegister(RibbonTabEvent @event);
}
